# 修改元组元素
tuple1 = (12, 34, 56)
tuple2 = ('abc,', 'mn')
# 修改元组元素操作是非法的
# tuple1[0] = 100
# tuple1[0] = 200
# 链接元组创建一个新的元组，两个数据必须都是元组
tuple3 = tuple1 + tuple2
print(tuple3)

# del删除元组
del tuple1


# # 使用input方法输入联系人姓名,电话,邮件,地址；
# # 定义元组tuple1存储上述信息
# # 输出tuple1,查看联系人信息
n = input('请输入联系人姓名')
t = input('请输入13位手机号')
e = input('请输入邮箱地址')
a = input('请输入联系地址')
tuple1 = ("姓名:", n, "电话: ", t, "邮箱: ", e, "地址: ", a)
print(tuple1)

"""列表list"""
# 列表的创建
# 1.使用 [ ] 直接创建列表:
list1 = [1, "hello", 2, "C语言"]
print(list1)
print(type(list1))
# 创建一个空列表
list2 = []
print(list2)


# 1 转化字符串
l3 = list("hello")
print(l3)

# 2,转化元组
t1 = tuple("hello")
l4 = list(t1)
print(l4)


# 3,转化range函数
r1 = range(5)   # 0, 1, 2, 3, 4
print(r1)
l5 = list(r1)
print(l5)

# # 访问列表中的元素
l1 = [1, 2, 3, '8', 'p', 'u']
# 使用正数索引进行访问，访问p
print(l1[4])
# 使用负向索引进行访问p
print(l1[-2])

#
# 使用切片形式访问列表中的元素
l2 = ['p', 'u', 'w', 'r', 1, 5, 7]
# 正向取值
# 使用切片取出索引2， 3， 4的元素
print(l2[2:5])
# 正切片取前三个元素
print(l2[:3])
# 正切片后前三个元素
print(l2[4:])
# 使用切片，取索1-5的元素，步长为2
print(l2[1:6:2])
# 负向取值
# 使用负切片形式取出u,w,r
print(l2[-6:-3])
# 步长为负数的话，取值从右到左，常用在排序上边，倒序形式
print(l2[::-1])
l3 = [10, 8, 6, 5, 2, 1]
print(l3[::-1])
# # 遍历列表
# list1 = ['python', 'java', 'c']
# # 使用for循环遍历列表
# for item in list1:
#       print(item)
l3 = ['python', 'java', 'c', 'c++', 'r', 'go', 'javascriput']
for i in l3:
    print(i)

# # 修改列表元素
# # 修改单个元素
l4 = [10, 56, 34, 2, 56, 44, 7]
# # 将索引为2的元素值修改为100
l4[2] = 100
print(l4)
#
# # 修改多个元素
l5 = [10, 56, 34, 2, 56, 44, 7]
# # 修改第 1~4 个元素的值（不包括第4个元素）
l5[1: 4] = [45, -56, 98]
print(l5)

# # 列表中添加元素
# # 1，append()用于在列表的末尾追加元素
l6 = ['a', 'b', 'c']
l6.append('f')
print(l6)
# # # 列表添加列表
l6.append(['e', 'f'])
print(l6)


# # 2,extend(  )在列表的末尾一次添加多个元素
l7 = ['a', 'b', 'c']
l7.extend('d')
print(l7)
# # 列表添加列表
l7.extend(['e', 'f', 'g', 'h'])
print(l7)
l7,extend('world')
print(l7)
#
# # 3,insert()在列表的特定位置添加想要的特定元素
l8 = ['python', 'c', 'java']
# # 插入元素，在索引为1处插入c++
l8,insert(2, 'go')
# l8,insert(1, 'c++')
print(l8)
